<?php
/**
 * Created by PhpStorm.
 * User: 554665488
 * Date: 2018-6-20
 * Time: 19:57
 * @description:原型模式
 * @Author: yfl
 * @QQ 554665488
 */
define('BASEDIR', __DIR__ . '/..');

require_once __DIR__ . '/Loader.php';

$prototype = new \DesignModel\Prototype\Canvas();

//var_dump($prototype);
$obj = clone  $prototype;  //这里使用克隆原型获得对象 不适用 new 新的对象  这样可以避免new对象的时候初始化的操作，
//减少内存的开销 这种方式没有使用注册器模式效率高，因为clone 会产生新的对象和原型对象 没有关系

$obj->init();

$obj->rect(3,6,5,14);

$obj->draw();
//var_dump( $obj);
echo '====================================';
echo '<br/>';
$obj1 =clone $prototype;
//var_dump( $obj1);
$obj1->init();

$obj1->rect(3,6,5,14);

$obj1->draw();

